package ca.etsmtl.log660.entity;
import ca.etsmtl.log660.observer.AObservable;
import java.sql.Date;

/**
 * this abstract class represents an Individu
 * @author Marc
 */
public abstract class Individu {

    //private variables
    private Integer noIndividu;
    private String courriel;
    private String nom;
    private String prenom;
    private String numeroTel;
    private Date dateNaissance;
    private String motDePasse;
    
    /**
     * Create an empty instance of Individu
     */
    public Individu(){
        
    }
    
    /**
     * Set the individu identification number
     * @param noIndividu 
     */
    public void setNoIndividu(Integer noIndividu){
        this.noIndividu = noIndividu;
    }
   
    /**
     * Set individu's unique courriel
     * @param courriel 
     */
     
    public void setCourriel(String courriel){
        this.courriel = courriel;
    }
    
    /**
     * Set individu's lastname
     * @param nom 
     */
    public void setNom(String nom){
        this.nom = nom;
    }
    
    /**
     * Set individu's first name
     * @param prenom 
     */
    public void setPrenom(String prenom){
        this.prenom = prenom;
    }
    
    /**
     * Set individu's telephone number
     * @param numeroTel 
     */
    public void setNumeroTel(String numeroTel){
        this.numeroTel = numeroTel;
    }
    
    /**
     * Set individu's date of birth
     * @param dateNaissance 
     */
    public void setDateNaissance(Date dateNaissance){
        this.dateNaissance = dateNaissance;
    }
    
    /**
     * Set individu's password
     * @param motDePasse 
     */
    public void setMotDePasse(String motDePasse){
        this.motDePasse = motDePasse;
    }
       
    
       
     
    /**
     * @return individu's identification number
     */

    public Integer getNoIndividu(){
        return this.noIndividu;
    }
    
    /**
     * @return individu's unique email address
     */
    public String getCourriel(){
        return this.courriel;
    }
    
    /**
     * @return individu's last name
     */
    public  String getNom(){
        return this.nom;
    }
    
    /**
     * @return individu's first name
     */
    public  String getPrenom(){
        return this.prenom;
    }
    
    /**
     * @return individu's telephone number
     */
    public  String getNumeroTel(){
        return this.numeroTel;
    }
    
    /**
     * @return individu's date of birth in string format following this format : YYYY/MM/DD
     */
    public  Date getDateNaissance(){
        return this.dateNaissance;
    }
    
    /**
     * @return individu's password
     */
    public  String getMotDePasse(){
        return this.motDePasse;
    } 
}
